let bol: boolean = false
// 注意: new Boolean 返回的是布尔值的包装对象,不属于基本数据类型boolean(后面的字符串和数字同理)
// Boolean 表示布尔值的包装对象类型
let bol1: Boolean = new Boolean(1)
// ts中子类型可以赋值给父类型
let bol2: Boolean = false
// 单独Boolean返回值也是布尔值的基本类型
let bol3: boolean = Boolean(1)

//============================================================

let str: string = '123'
let str1: string = '234'
let str2: string = `哈哈哈${123}`

// ===========================================================

let decLiteral: number = 6
//  十六进制表示法
let hexLiteral: number = 0xf00d
// 二进制表示法
let binaryLiteral: number = 0b1010
// 八进制表示法
let octalLiteral: number = 0o744
let notANumber: number = NaN
let infinityNumber: number = Infinity

//================= void =============================

// 表示函数的返回值为空
function xxx(): void {
  console.log(123)
}

let test: void = null
let test1: void = undefined

// ===================== null 和 undefined ==============================
// null和undefined的任何类型的子类型
let n1: null = null
let n2: undefined = undefined
let n3: null = undefined
let n4: undefined = null
let n5: string = null
let n6: number = null
let n7: boolean = null
